<?php
declare (strict_types = 1);

namespace app\common\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\facade\Cache;
class Del extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('del')
            ->setDescription('the del command');
    }

    protected function execute(Input $input, Output $output)
    {
        $this->getkey();

        //$this->setkey();
        // 指令输出
        $output->writeln('del');
    }

    public function getkey(){

        $redis = Cache::handler();
        $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);//设置不超时
        //redis 订阅 第二个 是个 回调函数
        $redis->psubscribe(array('__keyevent@*__:expired'), 'app\common\command\Del::keyCallback');


    }
    public static function keyCallback($redis, $pattern, $channel, $message) {
        file_put_contents("test1.txt", $message.' | ', FILE_APPEND);
        //file_put_contents('order.log',$message."\r\n",FILE_APPEND);
        //随便写个 log 记录 不要复制  要不然会在项目的 根目录出现  记得写路径
        //在这里写逻辑啊 写数据库操作

        echo '已删除订单编号:'.$message;
    }

}
